const store = {
    namespaced: true,
    state: {
        // formData: {},
        dictionaries: {
            processModeList: [ //处置方式
                { value: 0, label: '自行处置' },
                { value: 1, label: '公开转让' },
                { value: 2, label: '公开招标' },
            ],
            //招标方式
            tenderForm: [
                { value: '0', label: '邀请招标' },
                { value: '1', label: '公开招标' },
                { value: '2', label: '询价' },
                { value: '3', label: '竞争性谈判' },
                { value: '4', label: '单一性来源' }
            ],
            otherTenderForm: [
                { value: '0', label: '邀请招标' },
                { value: '2', label: '询价' },
                { value: '3', label: '竞争性谈判' },
                { value: '4', label: '单一性来源' }
            ],
            //招标类别
            tenderClass: [
                { value: 1, label: '工程施工招标' },
                { value: 2, label: '其他工程招标' },
                { value: 3, label: '物资供应招标' },
                { value: 4, label: '周材租赁招标' },
                { value: 5, label: '服务采购招标' },
                { value: 6, label: '机材收入招标' },
                { value: 7, label: '设备采购招标' },
                { value: 8, label: '设备租赁招标' }
            ],
            // 是否中标
            isBid: ['否', '是'],
            //状态
            state: {
                '-1': '已删除',
                0: '草稿',
                1: '审核中',
                2: '已审核',
                5: '已作废',
                9: '共享审核中',
                10: '已增加',
                20: '已锁定'
            },
            // 招标状态
            tenderState: [
                '草稿',
                '申请中',
                '已申请',
                '已发布',
                '补遗中',
                '评标登记中',
                '已评标',
                '已公示',
                '关闭中',
                '已关闭'
            ],
            // 高级搜索没草稿
            tenderState2: [
                '申请中',
                '已申请',
                '已发布',
                '补遗中',
                '评标登记中',
                '已评标',
                '已公示',
                '关闭中',
                '已关闭'
            ],
            //发布状态
            releaseState: ['未发布', '已发布'],
            //币种
            currency: [],
            //收入类型
            revenueType: ['废旧物资处置', '其他收入'],
            //租赁类型
            leaseType: ['设备租赁', '周材租赁'],
            // 招标类型
            tenderType: [
                { value: '劳务合作', key: 1 },
                { value: '施工分包', key: 2 },
                // '内部班组',
                { value: '劳务合作（100章）', key: 4 },
                { value: '工程技术服务-爆破服务类', key: 5 },
                { value: '工程技术服务-电力', key: 6 },
                { value: '工程技术服务-检测', key: 7 },
                { value: '工程技术服务-保险', key: 8 },
                { value: '工程技术服务-咨询', key: 9 }
            ],
            // 计时单位
            timingUnit: [],
            // 计量单位
            unitMeasure: [],
            // 服务类型
            serviceType2: ['物资加工', '设备维修', '设备安装', '物流运输'],
            // 收入类型
            machineType: [
                { value: '周材租赁收入', key: 1 },
                { value: '设备废旧处置', key: 2 },
                { value: '设备销售', key: 3 },
                { value: '物资销售', key: 4 },
                { value: '设备租赁收入', key: 5 },
                { value: '其他收入', key: 6 },
            ]
        },
        openDictionaries: {
            //纳税类别
            taxpayerType: [{ value: '一般纳税人' }, { value: '小规模纳税人', disabled: true }],
            //外包方类型
            outsourceType: ['劳务合作', '施工分包', '其他'],
            //资质信息证书类型
            certificateType: ['营业执照', '资质证书', '安全生产许可证'],
            // 物资资质信息证书类型
            certificateType2: [
                '营业执照',
                '资质证书',
                '合格供方调查表',
                '企业资信信息',
                '法人证件',
                '其他'
            ],
            //企业主要管理人类型
            applyPersonnelsType: [
                '董事会成员（持股人）',
                '法人代表',
                '实际控制人',
                '总经理',
                '总工程师',
                '技术负责人',
                '质量负责人',
                '安全负责人',
                '班组长'
            ],
            //附件信息类型
            fileType: [
                '承诺书',
                '组织机构图',
                '上年度财务报告或企业年报',
                '国家企业信用信息截图',
                '社保证明',
                '入库申请书',
                '奖惩证明',
                '税务登记查询信息',
                '开户许可证'
            ]
        }
    },
    mutations: {
        // saveFormData (state, data) {
        //     state.formData = data
        // },
        updateTenderClass (state, data) {
            state.dictionaries.tenderForm = data
        },
        updateCurrencyCategory (state, data) {
            state.dictionaries.currency = data
        },
        //更新计时单位
        setTimeUnitListMutations (state, data) {
            state.dictionaries.timingUnit = data
        },
        //更新计量单位
        setUnitMeasureMutations (state, data) {
            state.dictionaries.unitMeasure = data
        }
    },
    actions: {
        //更新计时单位
        setTimeUnitList ({ commit }) {
            import(/* webpackChunkName: "index" */ '@/api/config/config.js').then(config => {
                config.default
                    .configKvGetDicValue({
                        dicName: '计时单位',
                        isEnable: true
                    })
                    .then(res => {
                        res = res.filter(x => {
                            return x.kvStatus === 1
                        })
                        // let arr = res.map(x => {
                        //     let obj = {
                        //         value: '',
                        //         label: ''
                        //     }
                        //     obj.value = x.kvValue
                        //     obj.label = x.kvKey
                        //     return obj
                        // })
                        commit('setTimeUnitListMutations', res)
                    })
            })
        },
        //更新计量单位
        setUnitMeasur ({ commit }) {
            import(/* webpackChunkName: "index" */ '@/api/config/config.js').then(config => {
                config.default
                    .configKvGetDicValue({
                        dicName: '计量单位',
                        isEnable: true
                    })
                    .then(res => {
                        res = res.filter(x => {
                            return x.kvStatus === 1
                        })
                        let arr = res.map(x => {
                            let obj = {
                                value: '',
                                label: ''
                            }
                            obj.value = x.kvValue
                            obj.label = x.kvKey
                            return obj
                        })
                        commit('setUnitMeasureMutations', arr)
                    })
            })
        }
    }
}

export default store
